import request from '@/utils/request'

// 查询商品列表
export function listProduct(query) {
  return request({
    url: '/product/api/product/listVo',
    method: 'post',
    data: query
  })
}

//商品列表分页
export function listProductPage(query) {
  return request({
    url: '/product/product/list',
    method: 'post',
    data: query
  })
}

// 查询商品列表（上架商品）
export function listProductOnSale(query) {
  return request({
    url: '/product/api/product/listVo',
    method: 'post',
    data: { ...query, status: 1 } // 明确指定上架状态
  })
}
// 查询商品列表（下架商品）
export function listProductOffSale(query) {
  return request({
    url: '/product/api/product/listVo',
    method: 'post',
    data: { ...query, status: 2 } // 明确指定下架状态
  })
}

// 查询商品列表（所有状态）
export function listProductAll(query) {
  return request({
    url: '/product/api/product/listVo',
    method: 'post',
    data: { ...query } // 不指定状态，查询所有商品
  })
}



// 查询商品详细
export function getProduct(id) {
  return request({
    url: '/product/product/' + id,
    method: 'get'
  })
}

// 新增商品
export function addProduct(data) {
  return request({
    url: '/product/product/add',
    method: 'post',
    data: data,
    headers: {
      'Idempotent-Token': data.idempotentToken // 确保传递令牌
    }
  })
}



// 修改商品
export function updateProduct(data) {
  return request({
    url: '/product/product/update',
    method: 'put',
    data: data,
    headers: {
      'Idempotent-Token': data.idempotentToken // 确保传递令牌
    }
  })
}


// 删除商品
export function delProduct(id) {
  return request({
    url: `/product/product/delete/${id}`, // 使用反引号包裹模板字符串
    method: 'put'
  })
}


// 生成幂等性令牌
export function generateIdempotentToken() {
  return request({
    url: '/product/product/generateIdempotentToken',
    method: 'get'
  })
}

// 上架商品
export function onSaleProduct(id) {
  return request({
    url: `/product/product/onSale/${id}`, // 使用反引号包裹模板字符串
    method: 'put'
  })
}

// 下架商品
export function offSaleProduct(id) {
  return request({
    url: `/product/product/offSale/${id}`, // 使用反引号包裹模板字符串
    method: 'put'
  })
}


// 查询商品SKU列表
export function listProductSku(id) {
  return request({
    url: `/product/product/getSkuById/`+id,
    method: 'get'
  })
}


// 查询商品属性列表
export function listProductAttribute(id) {
  return request({
    url: `/product/product/getAttributeById/`+id,
    method: 'get'
  })
}


// 查询商品规格属性列表
export function listProductSpecs(id) {
  return request({
    url: `/product/product/getSpecsByProductId/`+id,
    method: 'get'
  })
}
//hhhhhhhhhhhhhhhhhhhhhhhhh

